package suche;

/* Die Klasse SuchTaeleToString
 * implementiert,wie die Informationen
 * in einer Tabelle ausgefuellt sind.
 * Die Klasse arbeitet eine liste
 * von Objekten Ausleihe.
 * 
 * Datei: SuchTabeleToString.java       
 * Autor: Gregory Keussi
 * 
 * Datum: 21.12.11                 Version: 0.1 
 */

import java.util.ArrayList;
import java.util.List;

import personenverwaltung.Ausleihe;

public class SuchTabeleToString
{

  private List<Ausleihe> ausListe = new ArrayList<Ausleihe> ();
  private String s;
  private Object data[][];


  public SuchTabeleToString (List<Ausleihe> p)
  {
    ausListe = p;
    data = new Object[30][5];
    s = " ";
  }


  /*
   * Die Methode nimmt ein String als Parameter .Und liefert einen
   * zweidimensionalen Array. die Methode fuellt alle Objekten, die
   * String enthaelt
   */

  public Object[][] tabeleHinzu (String titel)
  {
    Ausleihe a;
    for (int i = 0; i < ausListe.size (); i++)
    {
      System.out.println ("1");
     a = ausListe.get (i);
      for (int j = 0; j < 5; j++)
      {
        System.out.println ("2");
        if (a.gibExemplar ().gibMedium ().gibTitel ().equals(titel))
        {

          data[i][j] = superString (a, j);
        }
      }
      System.out.println ("3");
    }
    return data;
  }


  /*
   * Die Methode nimmt zwei parametern ein Objekt von typ ausleihe und
   * eine int zahl. Die Methode liefert ein String zurueck. Die Methode
   * holt eiine bestimmte Information ueber das Objekt ab, das als
   * parameter eingegeben ist.
   */
  public String superString (Ausleihe p, int k)
  {
    try
    {

      switch (k)
      {
      case 0:
        s = Integer.toString (p.gibExemplar ().gibExemplarNr ());
        break;

      case 1:
        s = p.gibExemplar ().gibMedium ().gibTitel ();
        break;

      case 2:
        s = p.gibDatum ().toString ();
        break;

      case 3:
        s = p.gibAusleihEnde ().toString ();
        break;

      case 4:
        s = Integer.toString (p.gibPerson ().gibId ());
        break;

      default:
        break;
      }
    }
    catch (Exception e)
    {
      s = " ";

    }
    return s;
  }
}
